﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;

namespace caufingHealth
{
    public interface Imanager
    {
        bool Login(string userName, string password);       
        PatientInformation.PatientRecord SearchForPatientRecords(string FirstName, string LastName);

        PatientInformation.PatientRecord SearchForPatientRecords(string LastName, DateTime DOB);

        PatientInformation.PatientRecord SearchForPatientRecords(DateTime DOB);

        bool AddPatientRecord(PatientInformation.PatientRecord pRecord);

        PatientInformation.PatientRecord.PatientVisitRecord[] GetPatientVisitRecord(int ID);

        PatientInformation.PatientRecord.PatientLabRecord[] GetPatientLabRecord(long visitDate, int patientID);

        bool AddNewPatientVisitRecord(int patientID, PatientInformation.PatientRecord.PatientVisitRecord visit);

        bool updatePatientVisitRecord(int PatientID, PatientInformation.PatientRecord.PatientVisitRecord updatedPatientVisitData);

        bool deletePatientVisitRecord(int patientID, long date);

        LabTestInformation[] GetAvailableTests();

        DoctorInformation[] GetDoctorInformation();

        bool addPatientLabRecord(int patientID, int doctorID, long visitDateLong, int type, int result);

        bool updatePatientLabRecord(int patientID, int doctorID, long date, int type, int result);

        System.Data.DataTable AdminQuery(string query);

        bool isAdmin();
    }
}
